﻿Imports System.Data
Imports System.Data.SqlClient
Partial Class loaisp
    Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    'NOTE: The following placeholder declaration is required by the Web Form Designer.
    'Do not delete or move it.
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here
        If Not Page.IsPostBack Then
            BindGrid()
        End If
    End Sub

    Public Sub Datagrid_OnCancel(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
        DataGrid1.EditItemIndex = -1
        BindGrid()
    End Sub
    Public Sub Datagrid_OnEdit(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
        DataGrid1.EditItemIndex = e.Item.ItemIndex
        BindGrid()
    End Sub
    Public Sub Datagrid_OnUpdate(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
        Dim sSql As String
        Dim blnAddNew As Boolean = False
        Dim txtTenloaisp As TextBox
        Dim txtTT As TextBox
        Dim txtidnn As TextBox
        Dim txtNem As TextBox
        Dim txtThutu As TextBox
        Dim txtidvn As TextBox
        
        '----------------Lay du lieu -------------
        txtTenloaisp = e.Item.Cells(2).Controls(0)
        txtidnn = e.Item.Cells(3).Controls(0)
        txtTT = e.Item.Cells(4).Controls(0)
        txtNem = e.Item.Cells(5).Controls(0)
        txtThutu = e.Item.Cells(6).Controls(0)
        txtidvn = e.Item.Cells(7).Controls(0)
        
        '----------------Update du lieu -------------
        If (e.Item.Cells(1).Text <= 0) Then
            blnAddNew = True
        End If
        If blnAddNew = True Then
            ' Insert into
            sSql = " insert into loaisp (tenloaisp,idnn,TT,nem,thutu)" & _
            "values(@tenloaisp,@idnn,@TT,@nem,@thutu) "
        Else
            'Update
            sSql = " UPDATE loaisp SET" & _
            " tenloaisp =@tenloaisp,idnn=@idnn, TT =@TT " & _
            " ,nem =@nem,thutu=@thutu" & _
            " WHERE idloaisp = @idloaisp"
        End If
        Dim myConn As New SqlConnection(ConfigurationManager.AppSettings("cons"))
        Dim MyCommand As SqlCommand
        myConn.Open()
        MyCommand = New SqlCommand(sSql, myConn)
        If Not blnAddNew Then
            MyCommand.Parameters.Add(New SqlParameter("@idloaisp", e.Item.Cells(1).Text))
        End If
        MyCommand.Parameters.Add(New SqlParameter("@tenloaisp", txtTenloaisp.Text))
        MyCommand.Parameters.Add(New SqlParameter("@idnn", txtidnn.Text))
        MyCommand.Parameters.Add(New SqlParameter("@TT", CBool(txtTT.Text)))
        MyCommand.Parameters.Add(New SqlParameter("@nem", CBool(txtNem.Text)))
        MyCommand.Parameters.Add(New SqlParameter("@thutu", CInt(txtThutu.Text)))
        MyCommand.Parameters.Add(New SqlParameter("@idvn", IIf(txtidvn.Text = "", 0, txtidvn.Text)))
        MyCommand.ExecuteNonQuery()
        myConn.Close()
        DataGrid1.EditItemIndex = -1
        BindGrid()
    End Sub
    Private Sub BindGrid()
        Dim dr As DataRow
        Dim myConn As New SqlConnection(ConfigurationManager.AppSettings("cons"))
        Dim sSql As String = "select idloaisp, tenloaisp,idnn,TT,nem,thutu,idvn from loaisp order by idnn, thutu"
        myConn.Open()
        Dim myAdapter As New SqlDataAdapter(sSql, myConn)
        Dim myDataSet As New DataSet
        myAdapter.Fill(myDataSet, sSql)
        dr = myDataSet.Tables(0).NewRow()
        dr(0) = -1
        dr(1) = "Thêm mới"
        myDataSet.Tables(0).Rows.InsertAt(dr, 0)
        DataGrid1.DataSource = myDataSet
        DataGrid1.DataBind()
        myConn.Close()
    End Sub

End Class
